﻿using MyCode.Project.Infrastructure.Enumeration;
using System;

namespace MyCode.Project.Domain.Businesses.BillKeeping
{
    /// <summary>
    /// 库存记账 数据传输对象
    /// </summary>
    public class StockBillKeepingDto
    {
        /// <summary>
        /// 商家ID
        /// </summary>
        public Guid MerchantId { get; set; }

        /// <summary>
        /// 存货机构，公司库存传仓库ID（StockID），店铺库存传店铺ID（ShopID）
        /// </summary>
        public Guid StockId { get; set; }

        /// <summary>
		/// 商品条码
		/// </summary>
		public Guid BarcodeId { get; set; }

        /// <summary>
        /// 发生操作方向
        /// </summary>
        public DirectFlag DirectFlag { get; set; }

        /// <summary>
		/// 数量
		/// </summary>
		public decimal Qty { get; set; }

        /// <summary>
		/// 销售的分摊单价
		/// </summary>
		public decimal Price { get; set; }

        /// <summary>
        /// 指定成本总金额(退货、换货使用)
        /// </summary>
        public decimal? CostPrice { get; set; }

        /// <summary>
        /// 业务类型
        /// </summary>
        public StockSheetType SheetType { get; set; }

        /// <summary>
		/// 业务单据号
		/// </summary>
		public string Sheet { get; set; }

        /// <summary>
        /// 业务单据ID
        /// </summary>
        public Guid SheetId { get; set; }

        /// <summary>
		/// 备注
		/// </summary>
		public string Note { get; set; }

        /// <summary>
        /// 业务发生时间
        /// </summary>
        public DateTime SheetTime { get; set; }

        /// <summary>
        /// 是否挂帐记帐（默认为否0，在挂帐补记帐为是1）
        /// </summary>
        public int IsHangStock { get; set; }
    }
}
